package com.ruijixiang.leetcode.hot100;

import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class leetcode0438 {
    // 使用滑动窗口来做
    public List<Integer> findAnagrams(String s, String p){
        int lenS=s.length(),lenP=p.length();
        List<Integer> ans=new ArrayList<>();
        if(lenS<lenP) return ans;
        int[] cnt1=new int[26];
        int[] cnt2=new int[26];
        for(int i=0;i<lenP;i++){
            cnt1[s.charAt(i)-'a']++;
            cnt2[p.charAt(i)-'a']++;
        }
        if(Arrays.equals(cnt1,cnt2)){
            ans.add(0);
        }
        for(int i=lenP;i<s.length();i++){
            cnt1[s.charAt(i-lenP)-'a']--;
            cnt1[s.charAt(i)-'a']++;
            if(Arrays.equals(cnt1,cnt2)) ans.add(i-lenP+1);
        }
        return ans;
    }
}
